#ifndef CONCRETEBUILDER_H
#define CONCRETEBUILDER_H

#include "ibuilder.h"
class TCLPhoneBuilder:public IBuilder{
public:
    TCLPhoneBuilder(){m_phone=new Phone;}
    void BuildBattery()override{m_phone->SetBattery("TCL Battery");}
    void BuildScreen()override{m_phone->SetScreen("TCL Screen");}
    Phone* GetPhone() override{return m_phone;}
private:
    Phone* m_phone;
};

class LGPhoneBuilder:public IBuilder{
public:
    void BuildBattery()override{m_phone->SetBattery("LG Battery");}
    void BuildScreen()override{m_phone->SetScreen("LG Screen");}
    Phone* GetPhone() override{return m_phone;}
private:
    Phone *m_phone;
};

class HuaWeiPhoneBuilder:public IBuilder{
public:
    HuaWeiPhoneBuilder(){m_phone=new Phone;}
    void BuildBattery()override{m_phone->SetBattery("HuaWei Battery");}
    void BuildScreen()override{m_phone->SetScreen("HuaWei Screen");}
    Phone* GetPhone() override{return m_phone;}
private:
    Phone *m_phone;
};

#endif // CONCRETEBUILDER_H
